/**
 * 
 */
package com.rpg.osric.item;

import com.rpg.base.flyweight.EquipmentItemModifier;
import com.rpg.base.flyweight.IOItemData;
import com.rpg.osric.globals.OsricEquipmentConsts;

/**
 * @author Donald
 */
public final class OsricItemData extends IOItemData {
	/** the armor type. */
	private int		armorType;
	/** the number of dice rolled for damage to large creatures. */
	private int		dmgDieRollNumberLg;
	/** the number of dice rolled for damage to small or medium creatures. */
	private int		dmgDieRollNumberSmMed;
	/** the type of die rolled for damage to large creatures. */
	private int		dmgDieRollTypeLg;
	/** the type of die rolled for damage to small or medium creatures. */
	private int		dmgDieRollTypeSmMed;
	/**
	 * the modifier applied to any damage to large creatures, +1, -2, etc..
	 */
	private float	dmgRollModifierLg;
	/**
	 * the modifier applied to any damage to small or medium creatures, +1, -2,
	 * etc..
	 */
	private float	dmgRollModifierSmMed;
	private float	encumbrance;
	/** the weapon type. */
	private int		weaponType;
	/**
	 * Gets the armorType
	 * @return {@link int}
	 */
	public int getArmorType() {
		return armorType;
	}
	/**
	 * Gets the type of die rolled for damage.
	 * @return int
	 */
	public int getDmgDieRollLg() {
		return dmgDieRollTypeLg;
	}
	/**
	 * Gets the the number of dice rolled for damage.
	 * @return int
	 */
	public int getDmgDieRollNumberLg() {
		return dmgDieRollNumberLg;
	}
	/**
	 * Gets the the number of dice rolled for damage.
	 * @return int
	 */
	public int getDmgDieRollNumberSmMed() {
		return dmgDieRollNumberSmMed;
	}
	/**
	 * Gets the type of die rolled for damage.
	 * @return int
	 */
	public int getDmgDieRollSmMed() {
		return dmgDieRollTypeSmMed;
	}
	/**
	 * Gets the the modifier applied to any damage.
	 * @return float
	 */
	public float getDmgRollModifierLg() {
		return dmgRollModifierLg;
	}
	/**
	 * Gets the the modifier applied to any damage.
	 * @return float
	 */
	public float getDmgRollModifierSmMed() {
		return dmgRollModifierSmMed;
	}
	/**
	 * Gets the encumbrance.
	 * @return float
	 */
	public float getEncumbrance() {
		return encumbrance;
	}
	/**
	 * Gets the weaponType
	 * @return {@link int}
	 */
	public int getWeaponType() {
		return weaponType;
	}
	/**
	 * {@inheritDoc}
	 */
	@Override
	public void initEquipitem() {
		equipitem =
				new EquipmentItemModifier[OsricEquipmentConsts.EQUIPITEM_MODIFIER_TOTAL];
	}
	/**
	 * Sets the armorType
	 * @param armorType the armorType to set
	 */
	public void setArmorType(int armorType) {
		this.armorType = armorType;
	}
	/**
	 * Sets the the number of dice rolled for damage.
	 * @param val the value
	 */
	public void setDmgDieNumberLg(final int val) {
		dmgDieRollNumberLg = val;
	}
	/**
	 * Sets the the number of dice rolled for damage.
	 * @param val the value
	 */
	public void setDmgDieNumberSmMed(final int val) {
		dmgDieRollNumberSmMed = val;
	}
	/**
	 * Sets the type of die rolled for damage.
	 * @param val the value
	 */
	public void setDmgDieRollLg(final int val) {
		dmgDieRollTypeLg = val;
	}
	/**
	 * Sets the type of die rolled for damage.
	 * @param val the value
	 */
	public void setDmgDieRollSmMed(final int val) {
		dmgDieRollTypeSmMed = val;
	}
	/**
	 * Sets the the modifier applied to any damage.
	 * @param val the value
	 */
	public void setDmgRollModifierLg(final float val) {
		dmgRollModifierLg = val;
	}
	/**
	 * Sets the the modifier applied to any damage.
	 * @param val the value
	 */
	public void setDmgRollModifierSmMed(final float val) {
		dmgRollModifierSmMed = val;
	}
	/**
	 * Sets the encumbrance
	 * @param encumbrance the encumbrance to set
	 */
	public void setEncumbrance(float encumbrance) {
		this.encumbrance = encumbrance;
	}
	/**
	 * Sets the weapon type.
	 * @param val the value
	 */
	public void setWeaponType(final int val) {
		weaponType = val;
	}
}
